package org.xx.armory.db;


/**
 * 数据访问组件上下文。
 *
 * @author Haart
 */
public interface DbContext {
    /**
     * 获取当前的会话工厂对象。
     *
     * @return 当前的会话工厂对象。
     */
    SessionFactory getSessionFactory();

    /**
     * 设置当前的会话工厂对象。
     *
     * @param sessionFactory
     *         当前的会话工厂对象。
     * @throws IllegalArgumentException
     *         如果参数{@code sessionFactory}是{@code null}。
     */
    void setSessionFactory(final SessionFactory sessionFactory);

    // TODO: 加入 provider 属性，表示使用哪种数据库。
}
